python运行中修改代码importlib重载模块

您所在的位置:网站首页 python执行过程中reload py文件 python运行中修改代码importlib重载模块

python运行中修改代码importlib重载模块

2024-07-08 17:20| 来源: 网络整理| 查看: 265

无聊测试了下,发现:

1.python只import模块一次,在import某个模块后就存在内存中,此时修改该模块没有用

2.python3提供 importlib模块,reload方法重新载入模块.

3.但是该reload方法有延迟,似乎并不会等reload完毕,直接会继续执行

4.在reload后加延迟,起到预期效果,两个py互相调用和修改

test2.py:

import test1 import importlib import time

def modify(ii):     with open('test1.py','r') as f_r:         lines = f_r.readlines()     with open('test1.py','w') as f_w:         i = 1         for line in lines:             if i == 19:                 num = int(line)+ii                 line = '\t\t'+str(num)+'\n'             i = i+1             f_w.write(line)              def f2():     i2= \         1     print('i2 =',i2)     modify(i2)     importlib.reload(test1)     time.sleep(0.2)     if i2



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3